Controllers are used on a wide variety of devices and systems for controlling various functions in homes and/or buildings and their related grounds. Some controllers have schedule programming that modifies device parameter set points as a function of date and/or time. Some such device or system controllers that utilize schedule programming for controlling various functions in homes and/or buildings and their related grounds include, for example, HVAC controllers, water heater controllers, water softener controllers, security system controllers, lawn sprinkler controllers, and lighting system controllers.
HVAC controllers, for example, are employed to monitor and, if necessary, control various environmental conditions within a home, office, or other enclosed space. Such devices are useful, for example, in regulating any number of environmental conditions with a particular space including for example, temperature, humidity, venting, air quality, etc. The controller may include a microprocessor that interacts with other components in the system. For example, in many modern thermostats for use in the home, a controller unit equipped with temperature and humidity sensing capabilities may be provided to interact with a heater, blower, flue vent, air compressor, humidifier and/or other components, to control the temperature and humidity levels at various locations within the home. A sensor located within the controller unit and/or one or more remote sensors may be employed to sense when the temperature or humidity reaches a certain threshold level, causing the controller unit to send a signal to activate or deactivate one or more components in the system.
The controller may be equipped with an interface that allows the user to monitor and adjust the environmental conditions at one or more locations within the building. With more modern designs, the interface typically includes a liquid crystal display (LCD) panel inset within a housing that contains the microprocessor as well as other components of the controller. In some designs, the interface may permit the user to program the controller to activate on a certain schedule determined by the user. For example, the interface may include a separate menu routine that permits the user to change the temperature at one or more times during a particular day. Once the settings for that day have been programmed, the user can then repeat the process to change the settings for the other remaining days.
With more modern designs, the programmable controller may include a feature that allows the user to set a separate schedule for weekday and weekend use, or to copy the settings for a particular day and then apply them towards other selected days of the week. While these designs allow the user to copy settings from one day to another, a number of steps are often required to establish a program, adding to the complexity of the interface. In some cases, the interface may not permit the user to select multiple days outside of the normal weekday/weekend scheme. In other cases, the interface is simply too complex to be conveniently used to program a temperature scheme and is simply by-passed or not programmed by the user. Accordingly, there is an ongoing need in the art to decrease the time and complexity associated with programming a multi-day schedule in a programmable controller.
During the installation process, the steps required to program the controller to operate with other system components can also add to the time and complexity associated with configuring the controller. Typically, programming of the controller is accomplished by entering in numeric codes via a fixed segment user interface, by manually setting jumper switches on a circuit board, or by adjusting screws or potentiometers on a circuit board. In some cases, the codes or settings used to program the controller are obtained from a manual or table which must be consulted by the installer during the installation process. For example, to configure an HVAC system having a multistage heat pump, the controller may require the installer to enter a numeric or alphanumeric code (e.g. 91199) from a manual or table in order to program the controller to properly operate the various stages of the heat pump. Such process of referring to a manual or table of codes is not often intuitive to the user, and requires the user to store the manual in a safe place for subsequent use. Accordingly, there is also an ongoing need in the art to decrease the time and complexity associated with programming the controller during the installation process.